File: /var/www/html/api.aianced.com/app/Http/Controllers/Api/LeadController.php
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\LeadRequest;
use App\Models\Lead;
use App\Services\MakeWebhookService;
class LeadController extends Controller
{
public function __construct(private MakeWebhookService $webhook) {}
/**
* POST /api/v1/leads
*
* Stores the lead and fires a Make.com webhook notification.
*/
public function store(LeadRequest $request): \Illuminate\Http\JsonResponse
{
$data = $request->validated();
$lead = Lead::create([
'name' => $data['name'],
'email' => $data['email'],
'phone' => $data['phone'] ?? null,
'idea_text' => $data['ideaText'],
'summary' => $data['summary'] ?? null,
'ip_address' => $request->ip(),
'user_agent' => $request->userAgent(),
]);
// Fire webhook — failure is logged but never breaks the response
$this->webhook->sendLead($lead);
return response()->json([
'success' => true,
'message' => 'Blueprint request received. We will be in touch within 24 hours.',
], 201);
}
}